.\" @(#)@PACKAGE@-@VERSION@ @RELDATELONG@
.TH FvwmAnimate 1 "@RELDATELONG@ (@VERSION@)" Fvwm "Fvwm Modules"
.UC
.SH NAME
\fBFvwmAnimate\fP \- the fvwm animate module
.SH SYNOPSIS
Module FvwmAnimate [ModuleAlias]

\fBFvwmAnimate\fP can only be invoked by fvwm.
Command line invocation of the FvwmAnimate module will not work.

From within the .fvwm2rc file, \fBFvwmAnimate\fP is spawned as follows:
.nf
.sp
Module FvwmAnimate
.sp
.fi
or from within an fvwm pop-up menu:
.nf
.sp
DestroyMenu Module-Popup
AddToMenu   Module-Popup "Modules" Title
+ "Fvwm Animate Icons" Module FvwmAnimate ModuleAlias
.sp
.fi

.SH DESCRIPTION
The \fBFvwmAnimate\fP module animates iconification and de-iconification
or on command.
There are currently 6 different animation effects.

.SH INVOCATION
\fBFvwmAnimate\fP must be invoked by the \fBfvwm\fP window manager.
When invoked with the \fIOptionalName\fP argument, the \fIModuleAlias\fP
is used to find configuration commands, configuration files,
and name the internally generated menus and forms instead of "FvwmAnimate".
During startup, FvwmAnimate defines menus and forms for configuring and
controlling FvwmAnimate.  The default menu name is "MenuFvwmAnimate"
and the form name is "FormFvwmAnimate".
If the optional name is used, the menu would be "Menu<ModuleAlias>"
and the form would be "Form<ModuleAlias>".
.sp
Assuming you already had a builtin menu called "Module-Popup",
you could use FvwmAnimate by configuring it like this:
.nf
.sp
AddToFunc "StartFunction" "I" Module FvwmAnimate
AddToMenu "Module-Popup" "Control Animation" Popup MenuFvwmAnimate
.sp
.fi

.SH CONFIGURATION OPTIONS
Since the pop up menu "MenuFvwmAnimate" allows complete control of
the \fBFvwmAnimate\fP module, you don't really have to know what any
of the configuration commands are.  This section describes them anyway.

\fBFvwmAnimate\fP gets configuration info from \fBfvwm\fP's module configuration
database (see
.IR fvwm (1),
section
.BR "MODULE COMMANDS" ).
In addition, \fBFvwmAnimate\fP reads the file $HOME/.FvwmAnimate,
and accepts commands from fvwm and its modules as it runs.

If \fIModuleAlias\fP is used to  start FvwmAnimate, the optional name
is used in all commands,  messages, menus and forms generated by  FvwmAnimate
and
in the configuration file name.   Unlike other fvwm modules, there is
little reason to use the optional name.

.IP "*FvwmAnimate: Color \fBcolor\fP"
Tells \fBFvwmAnimate\fP what color to draw with.
The color is "XOR'ed" (exclusive ORed) onto the background.
Depending on the display type you are using,  the effect this
causes will vary.  Especially on 8-bit displays, it helps if the background
is a solid color.  You have to experiment with this to see how it works.

The default color is not really a color and can be entered as "Black^White",
or more simply "None".  This is the same as the default XOR mask used
by fvwm for move and resize frames.

Other colors can be specified using standard X color notation.  Ie. color
names like "LightBlue", or RGB values like "#FFFFFF".

.IP "*FvwmAnimate: Pixmap \fBpixmap\fP"
Tells \fBFvwmAnimate\fP to use \fBpixmap\fP to draw with. This can be useful
if \fB*FvwmAnimate: Color\fP gives poor results.

.IP "*FvwmAnimate: Delay \fBmsecs\fP"
Tells \fBFvwmAnimate\fP how many milliseconds to sleep
between frames of animation.

.IP "*FvwmAnimate: Iterations \fBiterations\fP"
Tells \fBFvwmAnimate\fP how many steps to break the animation into.

.IP "*FvwmAnimate: Twist \fBtwist\fP"
Tells \fBFvwmAnimate\fP how many revolutions to twist the iconification frame.

.IP "*FvwmAnimate: Width \fBwidth\fP"
Tells \fBFvwmAnimate\fP how wide a line to draw with.
The default width of 0 (zero) is a fast line of Width 1.

.IP "*FvwmAnimate: Effect \fBmode\fP"
Tells \fBFvwmAnimate\fP which animation effect to use.
Currently the effects are:
\fIFrame\fP,
\fILines\fP,
\fIFlip\fP,
\fITurn\fP,
\fIZoom3D\fP,
\fITwist\fP
\fIRandom\fP,
and
\fINone\fP.
\fINone\fP is normally set in the configuration file, in-case FvwmAnimate
is started automatically, but an individual user doesn't want it running.

.IP "*FvwmAnimate: Stop"
Tells \fBFvwmAnimate\fP to stop.

.IP "*FvwmAnimate: Save"
Tells \fBFvwmAnimate\fP to save the current configuration in a file
named ".FvwmAnimate" in the users home directory.  This same file is
read automatically by FvwmAnimate during startup.

.SH COMMANDS
\fBFvwmAnimate\fP can be asked to produce an animation thru the "SendToModule"
command.  The format of the command is:
.nf
.sp
.in +.5i
SendToModule FvwmAnimate animate sx sy sw sh dx dy dw dh
.in -.5i
.sp
.fi
The second word must match the name \fBFvwmAnimate\fP is started with.
The 8 fields after
.I animate
must be numbers.  The first 4 are for the source
(or starting) location of the animation.  The last 4 are for the
destination of the animation.
The 2 pairs of 4 numbers, represent rectangles.
The first 2 numbers are the x and y location of the upper
right corner.  The next 2 numbers are the width and height.
One or more spaces can separate the fields in the command.

Modules can use the "SendToModule" command to animate "NoIcon" windows,
or you can think up your own ways to have all kinds of fun with this
command.

Additional available commands are:
.IR pause ", " play ", "
.IR push ", " pop " and " reset .
These may be space separated.

.I pause
causes a module to not temporarily produce any animations.
.I play
causes a module to produce an animation again.
.I push
stores the current playing state for a future and
.I pop
restores it.
.I reset
removes all stored states and sets playing on.

Suppose, we don't want to wait for all 40 xterms to be animated:
.nf
.sp
.in +.5i
SendToModule FvwmAnimate pause
All (XTerm) Iconify on
.in -.5i
.sp
.fi
And if we don't want to damage the current playing state, then:
.nf
.sp
.in +.5i
SendToModule FvwmAnimate push pause
All (XTerm) Iconify on
SendToModule FvwmAnimate pop
.in -.5i
.sp
.fi

.SH ORIGIN
\fBFvwmAnimate\fP is based on the \fBAnimate\fP module from Afterstep 1.5pre6.
Porting to \fBfvwm\fP and lots of other changes were done by
\fIDan Espen\fP <despen@telcordia.com>.
Below are the original author and acknowledgments.

.SH AUTHOR
\fIAlfredo Kengi Kojima\fP <kojima@inf.ufrgs.br>

.SH ACKNOWLEDGMENTS
These people have contributed to \fBFvwmAnimate\fP:

.IP "\fIKaj Groner\fP <kajg@mindspring.com>"
Twisty iconification, configuration file parsing, man page.

.IP "\fIFrank Scheelen\fP <scheelen@worldonline.nl>"
